After having captured a picture, the first step toward identifying shadows in the picture involves the exploitation of the luminance properties of shadow. Shadows result from the obstruction of light from a light source. Thus, the luminance values in a shadow region are smaller than those in the surrounding lit regions.
Currently detection of faint blobs and other shadowing problems is done using an algorithm called “shapes test”. This test looks for shaded regions, and evaluates shaded areas by averaging different kernel sizes, where a kernel is the array surrounding the pixel being checked.
This test is efficient in detecting blobs; but can fail in detecting larger faint contours as shown by error maps, which are the results of the shape test algorithm, and which correspond to various captured pictures. To make the latter test more efficient, more rigid limits were set. This ensures detection of most of the rejects; however, it also amplifies noise and usually causes over-rejection.